package com.ruoyi.system.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.system.domain.ACustomer;

/**
 * 会员管理Mapper接口
 * 
 * @author 王家宁
 * @date 2024-08-18
 */
public interface ACustomerMapper extends BaseMapper<ACustomer>

{
    /**
     * 查询会员管理
     * 
     * @param id 会员管理主键
     * @return 会员管理
     */
    public ACustomer selectACustomerById(Long id);

    /**
     * 查询会员管理列表
     * 
     * @param aCustomer 会员管理
     * @return 会员管理集合
     */
    public List<ACustomer> selectACustomerList(ACustomer aCustomer);

    /**
     * 新增会员管理
     * 
     * @param aCustomer 会员管理
     * @return 结果
     */
    public int insertACustomer(ACustomer aCustomer);

    /**
     * 修改会员管理
     * 
     * @param aCustomer 会员管理
     * @return 结果
     */
    public int updateACustomer(ACustomer aCustomer);

    /**
     * 删除会员管理
     * 
     * @param id 会员管理主键
     * @return 结果
     */
    public int deleteACustomerById(Long id);

    /**
     * 批量删除会员管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteACustomerByIds(String[] ids);

    default ACustomer getByMobile(String mobile) {
        return this.selectOne(Wrappers.<ACustomer>lambdaQuery()
                .select(ACustomer::getCustomerName, ACustomer::getCustomerPhone, ACustomer::getBalance)
                .eq(ACustomer::getCustomerPhone, mobile)
                .last("limit 1")
        );
    }
}
